package com.pt25.study.example.interfaces.assembler;

import com.pt25.study.example.domain.sharding.ddo.*;
import com.pt25.study.example.interfaces.vo.*;

public interface ShardingAssembler {
    static ShardingTest ShardingTestAddVo2ShardingTest(ShardingTestAddVo shardingTestAddVO) {
        return ShardingTest.builder()
                .name(shardingTestAddVO.getName())
                .build();
    }

    static ShardingMs ShardingMsAddVo2ShardingMs(ShardingMsAddVo shardingMSAddVO) {
        return ShardingMs.builder()
                .name(shardingMSAddVO.getName())
                .build();
    }

    static ShardingSd ShardingSDAddVO2ShardingSD(ShardingSdAddVo shardingSDAddVO) {
        return ShardingSd.builder()
                .name(shardingSDAddVO.getName())
                .build();
    }

    static ShardingSdst ShardingSdstAddVo2ShardingSdst(ShardingSdstAddVo shardingSDSTAddVO) {
        return ShardingSdst.builder()
                .name(shardingSDSTAddVO.getName())
                .build();
    }

    static ShardingSdstms ShardingSdstmsAddVO2ShardingSdstms(ShardingSdstmsAddVo shardingSDSTMSAddVO) {
        return ShardingSdstms.builder()
                .name(shardingSDSTMSAddVO.getName())
                .build();
    }

    static ShardingS ShardingSAddVO2ShardingS(ShardingSAddVo shardingSAddVO) {
        return ShardingS.builder()
                .name(shardingSAddVO.getName())
                .build();
    }
}
